home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 … to May: Technology Seed / April-May ADC Seed.toast / ASIP 6.0 Seed 3 package / Install AppleShare IP 6.0 / Web Admin / Java / Histogram.class / Histogram.class (.txt)
Encoding:
Java Class File  |  1998-04-17  |  3.5 KB  |  170 lines  |  [Clss/MWZP]

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Font;
  6. import java.awt.Graphics;
  7. import java.awt.LayoutManager;
  8. import java.awt.Rectangle;
  9.  
  10. public class Histogram extends Applet {
  11.    public static final int NUM_DATAPOINT = 400;
  12.    public static final int NUM_DATAIN = 4;
  13.    String fLastSample;
  14.    String fFirstSample;
  15.    int fNumSample;
  16.    Rectangle fAppletBounds;
  17.    Rectangle fDataBounds;
  18.    byte[] fDataBuffer = new byte[1600];
  19.  
  20.    public void init() {
  21.       Font var3 = new Font("Times", 0, 12);
  22.       ((Container)this).setLayout((LayoutManager)null);
  23.       ((Component)this).setFont(var3);
  24.       this.fAppletBounds = ((Component)this).bounds();
  25.       this.fDataBounds = ((Component)this).bounds();
  26.       Rectangle var10000 = this.fDataBounds;
  27.       var10000.x += 40;
  28.       var10000 = this.fDataBounds;
  29.       var10000.y += 6;
  30.       var10000 = this.fDataBounds;
  31.       var10000.width -= 42;
  32.       var10000 = this.fDataBounds;
  33.       var10000.height -= 30;
  34.       String var1 = ((Applet)this).getParameter("BGColor");
  35.       Color var2;
  36.       if (var1 != null) {
  37.          int var6 = Integer.parseInt(var1, 16);
  38.          var2 = new Color(var6);
  39.          ((Component)this).setBackground(var2);
  40.       } else {
  41.          var2 = ((Component)this).getBackground();
  42.       }
  43.  
  44.       var1 = "100%";
  45.       LabelPanel var5 = new LabelPanel(var1, 2);
  46.       ((Component)var5).reshape(this.fAppletBounds.x, this.fAppletBounds.y, 30, 14);
  47.       ((Component)var5).setBackground(var2);
  48.       var5.setFont(var3);
  49.       ((Container)this).add(var5);
  50.       var1 = "50%";
  51.       var5 = new LabelPanel(var1, 2);
  52.       ((Component)var5).reshape(this.fAppletBounds.x, this.fAppletBounds.y + 50, 30, 14);
  53.       ((Component)var5).setBackground(var2);
  54.       var5.setFont(var3);
  55.       ((Container)this).add(var5);
  56.       var1 = "0%";
  57.       var5 = new LabelPanel(var1, 2);
  58.       ((Component)var5).reshape(this.fAppletBounds.x, this.fAppletBounds.y + 92, 30, 14);
  59.       ((Component)var5).setBackground(var2);
  60.       var5.setFont(var3);
  61.       ((Container)this).add(var5);
  62.       var1 = ((Applet)this).getParameter("firstSample");
  63.       var5 = new LabelPanel(var1, 0);
  64.       ((Component)var5).reshape(this.fAppletBounds.x + 40, this.fAppletBounds.y + this.fAppletBounds.height - 20, 110, 20);
  65.       ((Component)var5).setBackground(var2);
  66.       var5.setFont(var3);
  67.       ((Container)this).add(var5);
  68.       var1 = ((Applet)this).getParameter("lastSample");
  69.       var5 = new LabelPanel(var1, 2);
  70.       ((Component)var5).reshape(this.fAppletBounds.x + this.fAppletBounds.width - 110, this.fAppletBounds.y + this.fAppletBounds.height - 20, 110, 20);
  71.       ((Component)var5).setBackground(var2);
  72.       var5.setFont(var3);
  73.       ((Container)this).add(var5);
  74.       var1 = ((Applet)this).getParameter("numData");
  75.       if (var1 == null) {
  76.          this.fNumSample = 0;
  77.       } else {
  78.          this.fNumSample = this.StrToInt(var1);
  79.       }
  80.  
  81.       int var4 = 0;
  82.       var1 = ((Applet)this).getParameter("data1");
  83.       if (var1 != null) {
  84.          this.parseData(var4, var1);
  85.          var4 += 400;
  86.       }
  87.  
  88.       var1 = ((Applet)this).getParameter("data2");
  89.       if (var1 != null) {
  90.          this.parseData(var4, var1);
  91.          var4 += 400;
  92.       }
  93.  
  94.       var1 = ((Applet)this).getParameter("data3");
  95.       if (var1 != null) {
  96.          this.parseData(var4, var1);
  97.          var4 += 400;
  98.       }
  99.  
  100.       var1 = ((Applet)this).getParameter("data4");
  101.       if (var1 != null) {
  102.          this.parseData(var4, var1);
  103.          var4 += 400;
  104.       }
  105.  
  106.    }
  107.  
  108.    public void paint(Graphics var1) {
  109.       var1.setColor(Color.black);
  110.       var1.drawRect(this.fDataBounds.x, this.fDataBounds.y, this.fDataBounds.width, this.fDataBounds.height);
  111.       var1.drawLine(this.fDataBounds.x, this.fDataBounds.y, this.fDataBounds.x - 6, this.fDataBounds.y);
  112.       var1.drawLine(this.fDataBounds.x, this.fDataBounds.y + 50, this.fDataBounds.x - 6, this.fDataBounds.y + 50);
  113.       var1.drawLine(this.fDataBounds.x, this.fDataBounds.y + 100, this.fDataBounds.x - 6, this.fDataBounds.y + 100);
  114.       this.drawDataPoint(var1);
  115.    }
  116.  
  117.    public int StrToInt(String var1) {
  118.       int var2 = 0;
  119.       int var3 = 0;
  120.       int var4 = 0;
  121.       int var5 = 0;
  122.       int var7 = var1.length();
  123.       if (var7 == 1) {
  124.          var5 = var1.charAt(0) - 48;
  125.       } else if (var7 == 2) {
  126.          var4 = var1.charAt(0) - 48;
  127.          var5 = var1.charAt(1) - 48;
  128.       } else if (var7 == 3) {
  129.          var3 = var1.charAt(0) - 48;
  130.          var4 = var1.charAt(1) - 48;
  131.          var5 = var1.charAt(2) - 48;
  132.       } else if (var7 == 4) {
  133.          var2 = var1.charAt(0) - 48;
  134.          var3 = var1.charAt(1) - 48;
  135.          var4 = var1.charAt(2) - 48;
  136.          var5 = var1.charAt(3) - 48;
  137.       }
  138.  
  139.       int var6 = var2 * 1000 + var3 * 100 + var4 * 10 + var5;
  140.       return var6;
  141.    }
  142.  
  143.    public void parseData(int var1, String var2) {
  144.       for(int var3 = 0; var3 < 400; var3 += 4) {
  145.          this.fDataBuffer[var3 + var1] = (byte)((var2.charAt(var3) & 255) - 48);
  146.          this.fDataBuffer[var3 + var1 + 1] = (byte)((var2.charAt(var3 + 1) & 255) - 48);
  147.          this.fDataBuffer[var3 + var1 + 2] = (byte)((var2.charAt(var3 + 2) & 255) - 48);
  148.       }
  149.  
  150.    }
  151.  
  152.    public void drawDataPoint(Graphics var1) {
  153.       int var8 = 1;
  154.  
  155.       for(int var4 = 0; var4 < this.fNumSample * 4; var4 += 4) {
  156.          byte var6 = this.fDataBuffer[var4];
  157.          byte var5 = this.fDataBuffer[var4 + 1];
  158.          byte var7 = this.fDataBuffer[var4 + 2];
  159.          int var2 = this.fDataBounds.x + var8;
  160.          int var3 = this.fDataBounds.y + this.fDataBounds.height;
  161.          var1.setColor(Color.darkGray);
  162.          var1.drawLine(var2, var3 - var5, var2, var3 - var6);
  163.          var1.setColor(Color.blue);
  164.          var1.drawLine(var2, var3 - var7 - 1, var2, var3 - var7);
  165.          ++var8;
  166.       }
  167.  
  168.    }
  169. }
  170.